home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Commodore Free 30
/
Commodore_Free_Issue_30_2009_Commodore_Computer_Club.d64
/
dos 65
< prev
next >
Wrap
Text File
|
2023-02-26
|
16KB
|
558 lines
u
Dos65 Commodore
richardaleary@gmail.com
http://www.z80.eu/dos65.html
DOS/65 - an interesting operating
system with file system compatibility
to CP/M-80 (and other similarities)
From the system description of DOS/65:
"What I (Richard A. Leary) have done
is attack the software side of the
problem in order to make any 6502
system a truly workable disk based
system. In addition a degree of
compatibility is now possible not only
between 6502 systems but with large
parts of the world of CP/M systems.
The result of my efforts is a system
of software which I have named
DOS/65."
Richard's implementation is initially
made for S-100 based systems, but he
began to port it to the C64 also
(see below).
DOS/65 has a lot of CP/M look-alike
commands for the command line and also
some applications like BASIC-E
included.
Of course some differences between
CP/M-80 and DOS/65 exist - the lowest
memory areas (e.g. the "zero page")
are not usable for the TPA, so the
usable system memory area starts at a
higher address (e.g. $0400).
http://www.z80.eu/dos65.html
------------------------------------
Interview with Dos65 Creator
COMMODORE FREE:
Please introduce yourself to our
Readers
RICHARD LEARY:
My name is Richard (Rich) Leary & I
have been involved in 6502-based
systems since 1974. My first 6502
based computer was totally built by
hand in 1974 using a plug board. The
computer had two 1702A EPROMs, four
3539 256x8 static RAMs, & serial
console I/O to a Teletype Model 19
Baudot teletype. If I remember
correctly the machine used a 6520 for
the serial I/O. The machine evolved
through several stages including
adding a cassette tape & other changes
As I watched the 8080/Z80 computers
evolve it was clear to me that I
needed some form of disk I/O for my
system & that meant a disk operating
system (DOS) was also needed. By the
late 1970s it looked like the 8080/Z80
DOS that was emerging as the
cross-platform standard was CP/M
operating system. In addition the
Altair computer started the 8080/Z80
down a hardware path that used the
S-100 bus. While there were other
buses in use, the S-100 was embraced
by a large number of manufactuers so
hardware selection had some options.
My effort then was devoted to getting
a Z80, S-100, & CP/M based system
working. I built two very large boxes
with power supplies - one for the
S-100 motherboard & all the plug-in
cards & the other to house two
8-inch floppy disk drives. Once I got
that working I built a 6502 CPU board
for the S-100 motherboard & started to
develop my 6502 DOS by disassembling
CP/M & then creating 6502 equivalent
software.
By 1981-1982 that software, that I
named DOS/65, was operating well
enough that I started to consider
offering it as a commercial product to
other 6502 enthusiasts. That led to a
number of commercial sales culminating
in a sizeable license to Rockwell in
1983-1984 that allowed Rockwell to use
DOS/65 for their commercial products.
CF: Would you say you were a Commodore
fan or is the Commodore link purely
down to CP/M software
I started my Commodore experience
many, many years ago with a VIC-20
when it first came out. The VIC was
later replaced by a C64. I used those
for some limited game playing as well
as for the traditional word processing
spreadsheet, & similar applications.
I still have that first C64 & when I
did the C64 port of DOS/65 it was that
system with its two 1541s & JiffyDOS
that was used for testing.
Later in the 1980s I leaped on the
Amiga platform with first an A1000 &
when the expansion limitations of that
platform became an issue I traded it
in for an A2000. That A2000 is also
still operational & now has a 68030
processor, hard disk, CD-ROM, high
resolution display, & other
enhancements & runs Amiga OS 3.5
CF: What is CP/M
CP/M (some say this is an acronym for
Control Program/Microcomputer but
there are other opinions) is a disk
operating system originally developed
by Gary Kildall (Digital Research).
This site:
http://www.cadigital.com/kildall.htm
has a brief history of what Gary did
and what CP/M & especially CP/M-80
(the version Gary developed for the
8080 processor) was & what it's later
relationship was to Bill Gates &
Microsoft.
CP/M is both a development environment
and an application environment. It
provided the floppy or hard disk file
system that made applications flexible
and powerful for their day. More
importantly by Version 2.2 it had
matured into a system that achieved
platform independence by concentrating
their platform specific interface in
an user alterable module called the
Custom Basic Input Out System (CBIOS).
This meant that different hardware
could use CP/M as long as it had an
8080-compatible processor. Eventually
most such systems used the Z80 but
there were 8085-based systems as well
as 8080-based systems.
CP/M then evolved to other platforms
including the 16-bit 8088/8086 & to
completely foreign processors, most
notably the 68000. It eventually
evolved into a multi-processing
systems (MP/M) that was used in
business environments & other
applications.
CF: Would you say DOS on the PC was a
copy of the CP/M operating system
then?
The reference link above discusses the
relationship between CP/M & MS-DOS.
I will say no more other than to
note that this is a subject that stirs
people's hearts to this day.
CF: Were there different versions of
CP/M & were they all compatible with
each other?
There were differences. For example,
CP/M-80 & CP/M-86 were targeted for
different processors & hence a
CP/M-86 application would not run on a
CP/M-80 system or vice-versa. There
was a degree of file system
compatibility that would allow file
exchange if the disks were the same.
Even within CP/M-80 the various disk
formats meant that any specific system
could only exchange files through
media exchange if the hardware was
compatible. In the early days when the
"standard" was the "IBM" 8-inch,
single sided, single density diskette,
media exchange was usually easy. As
manufacturers moved to 5.25 inch
drives such compatibility became
spotty. To this day there are some
that are often exchangeable. For
example the C128 version of CP/M will
support both Kaypro 2 & 4 diskette
formats using the 1571 drive.
CF: I know DOS/65 was ported to the
C64. Was this the main idea to have
the system running on the C64 or was
it more a programming exercise & did
you do the coding?
I had always had the Commodore
platform as an intended target but
just never had time for it. In late
2007 I brought my S-100 system back to
life after being dormant for at least
5 years. However in early 2008 my
S-100 system failed & rather than
trying to immediately fix it I decided
this was the incentive to build a new
"primary" development environment
using hardware & software I had &
that was not "one-of-a-kind" nor as
bulky & heavy as the S-100 system.
After thinking about it I decided to
use the C64.
I had to acquire a few tools (e.g.,
Star Commander, X1541 interface) to
allow my PCs to interact easily with
the C64 & 1541. It took only a short
time to get familiar with those new
tools as well as use of TASM as a
cross development assembler. I also
used the VICE X64 simulator for easier
testing in addition to the actual
hardware.
It took a little while to understand
the C64 1541 CP/M disk format & how
to use the C64 kernel (called kernal
by Commodore) calls to accomplish both
serial bus as well as console I/O. As
noted separately, by early April I had
a stable system & provided "beta"
releases through Peter Dassow's site
for people to try.
CF: I believe you still own the
rights to DOS/65, is there a charge
for users wishing to use the software?
There is no charge as long as it is
for personal or educational uses. If
someone wants to use it commercially
they need to talk to me. I doubt
anyone will want commercial use but if
they do it is not free.
CF: I actually found the software on
this website:
http://www.z80.eu/dos65.html
were you approached for distribution
rights or to produce a conversion to
Commodore systems?
Peter Dassow's site is a CP/M oriented
site. Peter expressed some interest in
DOS/65 because it uses the CP/M file
system & looks & feels a lot like
CP/M. After some email exchanges I
agreed to accept his very generous
offer to host a DOS/65 page. This also
motivated me to clean up the docs,
some of which had not been touched in
10 years or more. I did that and
produced .pdf versions of the docs in
the first half of 2008 & provided them
to Peter. As the C64 version evolved
it was also posted on Peter's site.
CF: When was the Port of the software
created for the C64?
I started working on the C64
implementation in January 2008 & by
mid-April 2008 it was stable &
complete. The C64 implementation
focused on the disk I/O using the
serial bus & 1541 drive as well as on
the console I/O using the keyboard &
normal C64 text video. DOS/65 was
used as it existed although one small
change was made to the main DOS/65
software to facilitate more flexible
builds of new configurations,
including the C64 version.
One of the features of DOS/65 that was
inherited from CP/M is the use of a
system interface module to handle all
system-specific I/O needs. That means
that the core portions of DOS/65
including the DOS itself as well as
all applications need not know
anything about the actual I/O.
CF: Why was it called DOS/65?
That was my attempt to have a name
similar to CP/M but with a name that
tied itself to the 65xx processor
family.
CF: To your knowledge what other
Computer systems has the software been
ported to?
DOS/65 has been implemented on SYM-1,
KIM-1, AIM-65, & some S-100 systems.
It was also implemented on a couple of
different STD-bus systems in the 1980s
CF: Can you explain why the software
was created or ported to the C64, for
example why was such software needed
for Commodore systems in particular
That is an excellent question. Over
the two decades plus since DOS/65 was
developed & stabilized there were
instances in which various people
asked if I had a C64 version. While
that had always been my intent I just
never had the time. During those 20+
years I was working for a major
aerospace company & just had little
free time.
When I retired two years ago from that
career I started to have more time
available. Once we had our new house
in the Colorado Rockies finished & we
then had moved in during early NOV 07,
the possibility of applying some time
became real. That was helped by the
severe winter we had in DEC 07 thru
MAY 08 that meant "inside time" was
plentiful.
While I thought there would be some
people interested in trying DOS/65 on
the C64, in the end I did it for the
fun & to prove to myself that what I
had intended 20+ years ago was
possible & practical. As to value for
the C64 user - that is up to them.
Some may see it as pointless but in my
view it has the same value as all
other vintage computer hardware &
software - it is fun. DOS/65 provides
a development environment that is self
contained.
All the tools are there to build
software in BASIC-E or assembly
language. That gives the C64 user the
opportunity to do things that may not
be easy to do in other ways but most
importantly allows the user to develop
skills & knowledge that are
self-satisfying.
I am not working any other Commodore
implementations now even though I have
a C128D that would be a very nice
DOS/65 platform. I also have an Apple
IIGS that would be even better given
it's somewhat faster & capable
processor. I am not doing anything
with the IIGS at this time.
What I am working on is the hardware
to add a floppy disk interface &
possibly an IDE interface to Daryl
Rictor's SBC-2 v2.3 6502 based single
board computer. I built one of Daryl's
SBCs this year & it is working quite
nicely. The floppy I/O board is in
the design stage & probably won't be
completed until this winter when the
snows again make "inside time"
dominant.
CF: What software will run on DOS/65
is it still relevant today or is this
more an historic environment
That is really up to the user. When
all is said & done we all use
vintage computers for the fun of the
experience. Whether that means
productive use, self-education, or
pure fun is up to the user.
DOS/65 comes with an editor,
assembler, debugger, & other misc.
tools. It also comes with BASIC-E/65,
a DOS/65 implementation of Gordon
Eubanks BASIC-E, the precursor to
CBASIC. Small-C is available as is
FORTH.
There are no word processor, spread-
sheet, or database applications that
I know of but there might be a
challenge for a DOS/65 user.
CF: Most users will be aware the C128
can run CP/M software but the 128 has
a z80 processor dedicated to the
task, how can the C64 run the
software?
As amplified below, the only way the
C64 can run CP/M is by use of the
Z80-based CP/M cartridge. DOS/65 does
not give you the ability to run CP/M
software without that cartridge but it
does allow you to exchange files with
a C64 or C128 CP/M system.
CF: The z80 based CP/m cartridge for
the C64 allowed CP/M software to run
on the C64 can you tell our readers
about the device it seems to be an
illusive device
I actually have one of the CP/M
cartridges for the C64. It has a Z80
processor & some glue logic so it
can communicate with the C64. I bought
it within the past year so I could see
how the 6502 in the C64 & the Z80 in
the cartridge communicated & how the
Commodore serial bus I/O was handled.
It turns out that the CP/M cartridge
is not compatible with all C64s. It
will only work reliably with early
C64s because Commodore later made
some C64 changes that reduced the
display flicker & that caused
compatibility issues with the
cartridge. Commodore never tried to
fix the compatibility issues with
the later C64s. My C64 is late enough
that it falls in the "will not work"
category. It will actually boot CP/M
but then randomly goes into never-
never land.
CF: What advantages are there in
running CP/M from a cartridge rather
than from a Commodore disk
On the C64 you need the cartridge &
the CP/M disk but as noted above it is
unreliable. The C128 has the Z80 built
in so only needs the CP/M software
with the C128 specific CBIOS. The C64
CP/M cartridge will not work at all
with the C128. In addition the C128
will not run the C64 version of CP/M.
CF: Does the Commodore 1541 disk
drive read CP/M formatted disks?
Yes but only the C64 specific format
that uses the standard 1541 GCR disk
format. To do more than that under
DOS/65 the DOS/65 System Interface
Module (SIM), the DOS/65 equivalent of
the CP/M CBIOS, must include the
drivers for the various 1571 CP/M
formats be they GCR or MFM based. The
same is true for use of the 1581 or
any other formats.
CF: IS DOS/65 to be updated? & do
you intend to update or maintain the
software yourself?
If time permits I may add drivers for
the other disk formats & perhaps
some other minor expansion. Right now
I do not plan any other enhancement of
the system itself. If bugs are found
by users or by myself I will of course
fix them & release updated versions.
During the C64 effort I actually found
a couple of 20+ year old bugs in a
couple of utilities & fixed them
during the C64 implementation effort.
CF: If our reader has become excited
about the port can they help out?
Absolutely! Anyone can build the
system interface code for the 1571 or
1581 drives & a C128 implementation
is also doable. In addition porting
new tools or enhancing the existing
tools are all efforts that some users
may find both challenging as well as
rewarding.
CF: Is there anything further you
would like to tell our readers
Just that DOS/65 should be enjoyed &
viewed as a means of doing some
productive tasks but more importantly
as a framework to learn more about how
a DOS or it's supporting tools work.
The source code is there for all to
view & examine. While I claim no
special talent, it may still help
people understand at least one way to
do things. There may be better ways &
as users explore the code they should
not hesitate to suggest them.
CF: Thanks for the interview
You are welcome & thank you for the
opportunity to discuss something that
has been part of my life for over 20
years.
Rich
----